문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 C(프로그래밍 언어) (문단 편집) === C Programming: A Modern Approach === * 원 저자: K. N. King * 번역서: (없음) * 번역자: (없음) * 출판사: (없음) 저자의 명칭을 따서 속칭 "K&K"라고 불리며,[* 위의 유명한 K&R이라는 책과 대구를 맞추려고 K&K라고 부르게 됐다는 소리도 있다. 다만, K&R에 맞먹을 정도로 좋은 평가를 받는다는 소리이기도 하다.] The C Programming language와 함께 C언어 표준을 준수하면서 세계적으로 인정받은 바이블격 도서 중에 하나다.[* 최신 C언어 트렌드를 따라가는 프로그래머들도, 오래됐지만 K&R과 K&K는 읽어볼 가치가 있다고 평가하는 경우가 많다. 그만큼 두 책이 고평가 받는다는 소리다.] 다만, 2023년 현재까지도 한국어 번역서가 없어서 영어 원문을 봐야하는지라, C언어 첫 번째 기본 입문서로는 독해하기 어려울 수 있는 게 가장 큰 단점이다. 그나마 다행인 것은 대학교 이상 수준의 영어를 요구하지는 않아서, 수능 영어 독해할 수 있는 실력이면 그럭저럭 읽을 수 있다는 것이다. 결론적으로 수능 영어 독해할 수준이 되는 사람에게는 적어도 K&R보다는 훨씬 입문하기 좋은 책이다. K&K 책의 분량만 보면 800페이지가 넘어가기 때문에, K&R에 비교하면 2배 이상으로 배울 것이 많아 보일 수도 있다. 하지만 이는 오히려 장점인데, K&R에서 다루지 않는 (비교적 최신 C언어 버전인) C99에 관한 내용까지 다루는 한편, 어려운 설명을 최대한 풀어서 썼다는 소리이기 때문이다.[* 게다가 중요한 내용은 꼬박꼬박 강조 표시를 해서 분량은 많아보이지만 중요 포인트는 잘 보이는 것도 장점이다. 특히 상술했듯이 C언어 특성상 피해야 할 행동이 매우 많은데, K&K에서는 이런 것들은 제발좀 피하라고 굵은 글씨와 느낌표와 박스까지 쳐가며 강조 표시를 해놨다. 반면, K&R은 중요한 문장을 평범하게 표시해 놓는 등 강조 부분에서 배려가 살짝 부족한 편이다.] 직접 읽어보면 나름 술술 잘 읽히고, 설명도 자세하고 친절한 편이며, 어려운 단어들은 최대한 안쓰거나 풀어 쓰려고 한 것이 느껴진다. 어렵기로 악명 높은 C언어의 포인터를 설명하는 부분도, 부가설명을 많이 하고 나름 그림까지 많이 동원해가며 이해하기 쉽게 설명하려고 노력한 흔적들이 보인다. 2008년에 마지막 최종본이 나왔기 때문에 코딩 스타일은 위의 K&R보다는 최신 트렌드를 따라가지만 밑의 여러 최신 책들보다는 구식이다. 정확히는 C99라는 1999년에 발표된 표준을 지키도록 안내하는데 그 덕분에 K&K로 C언어를 배우면 C99 스타일을 엄격히 지키는 코드를 작성할 수 있게 된다. 아쉬운 점은 2008년에 출판했다는 특성상 C11이나 C18 등의 최신 C언어에 대해서는 다루지 않기 때문에 최신 C언어 트렌드를 배우려면 다른 책을 추가적으로 공부해야 한다는 것.[* 게다가 C99에서 잠깐 존재했다가 이후에 사라진 문법인 VLA같은 것을 유용한 문법이라고 K&K 본문에서 안내하기도 한다. VLA는 스택 [[오버플로]]를 낼 가능성이 있기 때문에 프로그래머들은 웬만하면 사용을 꺼리고, 심지어 최신 C 컴파일러에서는 VLA이 들어간 코드를 컴파일할 시 오류를 뿜으면서 컴파일이 안되는 경우까지 있다. 결국 K&K만 읽었다고 좋은 코드를 작성할 수는 없으며, 최신 C언어 트렌드를 따로 배워야 한다는 소리가 된다.] 나쁘게 말하면 최신 용어나 개념에 대해서는 내용이 책에 없는 것이지만, 좋게 말하면 어떤 구식 컴파일러에서든 돌아가는 코드를 작성하는데에는 도움이 되는 책인 셈이다.[* 상술했듯이, 애초에 2020년대에도 실무에서 C18 등의 최신 표준을 지키는 코드를 쓸 일이 거의 없다. 실무 코드베이스에서 C언어를 쓴다는 것 자체가 엄청나게 오래 된 컴파일러와도 호환돼야 할 요구 조건이 있을 확률이 높기 때문이다. 이런 면에서 볼 때 구식 컴파일러에서도 잘 작동되는 코드를 안내한다는 점에서 K&K은 나름 괜찮은 입문서라고 평가할 수 있을 것이다.] 그리고 C89와 C99 사이의 차이에 대해서도 엄격히 구분해서 안내하기 때문에 C89 방식으로 구닥다리 스타일 코드를 쓰는 것도 배울 수 있을 뿐만 아니라,[* 이렇게 C언어 버전을 구분해서 안내하는 책이 별로 없다.] C89(즉 K&R에서 다루는 ANSI C)와 그 이후 C99 등의 나름 최신 C언어와의 차이를 익히는 데에도 쓸모가 있다. K&K는 영문 원서 특성상 오프라인에서는 구하기 힘든 책이고 온라인 해외배송으로 시켜야 책을 볼 수 있는데, [[Wayback Machine]] 사이트에 원문 책이 통째로 공개되어 [[https://archive.org/details/c-programming-a-modern-approach-2nd-ed-c-89-c-99-king-by|있으며]] 위키독스에 어떤 개인이 한글로 번역한 것도 공개되어 [[https://wikidocs.net/book/2494|있으니]] 돈 없는 사람들은 이걸로 공부해도 된다. 다만 한글판에는 문제가 많은데, 우선 반 정도밖에 번역이 안 돼서 뒤쪽에 중요한 내용은 어차피 원서를 봐야 하고,[* 책 특성상 뒷 단원과 앞 단원을 왔다갔다 하면서 모르는 개념을 참고하거나 복습할 부분이 많기 때문에 이 단점이 더욱 뼈아프다.] 공식 번역이 아니라 개인이 번역했기 때문에 번역 품질도 엄청 좋지는 않으며,[* 위키독스 사이트 특성상 댓글로 번역 수정할 것을 건의하면 언젠가 수정이 반영되기는 한다.] 실물 책으로 볼 수 없는지라 인터넷이 연결돼야만 볼 수 있다는 단점이 있다. 게다가 개인 번역자에 따르면, 번역권 문제 때문에 장래에도 위키독스 번역본은 공식 출판이 어려울 것 같다고 [[https://alegruz.imweb.me/blog/?q=YToyOntzOjEyOiJrZXl3b3JkX3R5cGUiO3M6MzoiYWxsIjtzOjQ6InBhZ2UiO2k6Mjt9&bmode=view&idx=2829277&t=board|한다]]. 이런 저런 문제 때문에 수능 영어 독해할 수준이 되는 실력이면 원서를 구해 보는 것이 낫다.[* 단 어려운 용어나 개념이 나올 때 한글 번역을 조금 참고하는 용도로는 상당히 좋다. 무엇보다 공짜이니..]저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기